This invention relates to social networking systems, and in particular to inferring connections among users of a social networking system based on their interactions with images in the social networking system and the identity of cameras used to take the images.
Social networking systems store information about users and about the relationships between users. Users can perform actions using the social networking system, for example, users can indicate whether they participated in some event. Users frequently interact with each other via the social networking system, for example, by sending messages, by posting on a user's wall, by commenting on photos, or by sending recommendations to other users. Social networking systems collect information about the actions associated with users as well as the interactions between users over time.
The useful social information that is tracked and maintained by a social networking system can be thought of in terms of a “social graph,” which includes a plurality of nodes that are interconnected by a plurality of edges. Each node in the social graph may represent something that can act on and/or be acted upon by another node. Common examples of nodes include users, non-person entities, content items, groups, events, messages, concepts, and any other things that can be represented by an object in a social networking system. An edge between two nodes in the social graph represents a particular kind of connection between the two nodes, which may result from an action that was performed by one of the nodes on the other node.
For example, if one user establishes a connection with another user in the social networking system, each of the two users is represented as a node, and the edge between the nodes represents the established connection. Continuing this example, one of these users may send a message to the other user within the social networking system. This act of sending the message is another edge between those two nodes, which can be tracked by the social networking system. The message itself may be treated as a node. In another example, if a user confirms attending an event, the user and the event are nodes, where the attendance of the event is the edge. Using a social graph, therefore, a social networking system may keep track of many different types of objects and the interactions and connections among those objects, thereby maintaining an extremely rich store of socially relevant information.
The social graph can be used by the social networking system for performing various actions, for example, for directing appropriate information to users. Social networking systems can use the social graph to identify recipients of particular newsfeed information based on actions of a user. Social networking systems can use the social graph to determine potential friends of a user and recommend them. Social networking systems can also use the social graph to direct different type of information to users including groups that the user may be interested in joining, events that the user may be interested in participating, or advertisements that are relevant to the user.